// List：有序的存储数据

void main() {
  List lang = ['html', 'css', 'js', 'vue', 'react'];

  // 获取列表中的元素：
  // 语法：列表名[索引]
  String item = lang[0];
  print(item);

  // 列表的长度
  int len = lang.length;
  print(len);

  // 修改列表中的元素：
  // 语法：列表名[索引] = 新值
  lang[0] = 'html5';
  print(lang);

  // 添加单个元素：
  // 语法：列表名.add(元素)
  lang.add('node');
  print(lang);

  // 添加多个元素
  // 语法：列表名.addAll([元素1，元素2，...])
  lang.addAll(['java', 'go']);
  print(lang);

  // 删除元素：
  // 语法：列表名.remove(元素)
  lang.remove('go');
  print(lang);

  // 根据索引删除元素：
  // 语法：列表名.removeAt(索引)
  lang.removeAt(0);
  print(lang);

  // 删除最后一个元素：
  // 语法：列表名.removeLast()
  lang.removeLast();
  print(lang);

  // 删除指定范围的元素：
  // 语法：列表名.removeRange(开始索引，结束索引)
  lang.removeRange(0, 2); // 索引 0,1 被删除
  print(lang);

  // 删除所有元素：
  // 语法：列表名.clear()
  // lang.clear();
  // print(lang);

  // 遍历列表：
  lang.forEach((item) {
    print(item);
  });

  for (var item in lang) {
    print(item);
  }

  // 过滤
}
